Python にメソッドを使う機能 (list.index() 等) と関数を使う機能 (len(list) 等) があるのはなぜですか?
https://docs.python.org/ja/3/faq/design.html#why-does-python-use-methods-for-some-functionality-e-g-list-index-but-functions-for-other-e-g-len-list
#Python_デザインと歴史_FAQ
接頭辞は接尾辞よりも単純に読みやすいから
(b) len(x)というコードを読んだ時、私はそれが何かの長さを問うているのだなと知ることができます。
これは私に2つの事を知らせています。一つは結果が整数であること、そして引数は何らかのコンテナであることです。
対して、x.len()を目にした場合、私はその時点でxが何らかのコンテナであり、それが標準のlen()を持っているクラスを継承しているか、インターフェースを実装していることを知っている必要があります。
👉 Special methods and interface-based type system (Guido Nov 22 21:09:31 2006)